
from random import randint

# 1.解决千年虫问题，以前的电脑为了节省存储空间,通常年份都是用的两位数字，这样跨过2000年后,
# 2000年和1900都会被表示为00,造成计算机系统故障，编写程序将以下序列中年份转换为4位,并升序输出。
# 当前序列:[89, 98,00,75,68,37，58, 90]
# 输出序列: [1937 ,1958,1968,1975,1989, 1990,1998，2000]

# year = [89, 98, 00, 75, 68, 37, 58, 90]
# for i in range(len(year)):  # 把year列表里面的全部元素依次赋值给 i
#     if year[i] == 00:
#         year[i] = int(2000)
#     else:
#         year[i] = int(1900 + year[i])
# print('当前序列输出的初始年份：', year)
# year.sort(reverse=False)    # 把列表进行升序排序
# print('升序当前输出的初始年份：', year)
# print()

# l1=[89, 98, 00, 75, 68, 37, 58, 90]
# l2=[]
# for i in l1:
#     if i!=00:
#         i+=1900
#     else:
#         i+=2000
#     l2.append(i)
# print(l2)
# l2.sort()
# print(l2)

# 2.参照以下格式打印9*9乘法表
# 1*1=2
# 1*2=2 2*2=4
# ..............
# 1*9=9 2*9=19 ....... 9*9=24

# for i in range(1,10):
#     for j in range(1,i+1):
#         print('{}*{}={:<2}'.format(j,i,i*j),end=' ')
#     print()



# 3.水仙花数：水仙花数是指一个 n 位数 ( n 大于等于 3 )，它的每个位上的数字的 n 次幂之和等于它本身。
# # （例如：1的3次方 + 5的三次方 + 3三次方 = 153）。
# 根据这个要求，打印所有三位数的水仙花数
#
# for x in range(1,10):
#     for y in range(0,10):
#         for z in range(0,10):
#             if x*100+y*10+z==x**3 +y**3+z**3:
#                 print(x*100+y*10+z)


# for i in range(100,1000):
#     num=0
#     for n in str(i):
#         num+=int(n)**3
#     if num==i:
#         print(i)


# for i in range(100,1000):
#     m=i
#     num=0
#     while i:
#         num+=(i%10)**3
#         i=i//10
#     if num == m:
#         print(m)
# 4.输入某年某月某日，判断这一天是这一年的第几天？
# #以3月5日为例，应该先把前两个月的加起来，然后再加上5天即本年的第几天，特殊情况，闰年且输入月份大于3时需考虑多加一天。
#
# import time
# try:
#     y=input('请输入年份')
#     m=input('请输入月份')
#     d=input('请输入日期')
#     my_time=time.strptime('{} {} {}'.format(y,m,d),'%Y %m %d')
#     print('日期：{}-{}-{}'.format(y,m,d))
#     print('这天是该年的第%s天'%my_time.tm_yday)
# except:
#     print('你输入了错误的日期格式，请检查后再试')

# days=[31,28,31,30,31,30,31,31,30,31,30,31]
# year=int(input('请输入年份：'))
# month=int(input('请输入月份：'))
# day=int(input('请输入日：'))
#
# sum=0
# for i in range(0,month-1):
#     sum+=days[i]
# sum+=day
# if year%400==0 or year%4==0 and year%100!=0:
#     if month>2:
#         sum+=1
# print('这一天是这一年的第{}天'.format(sum))





# 5.输入一个整数，顺序将值输出，并计算每一位相加的总和
#
# a=int(input('请输入一个整数：'))
# sum = (a//100) + ((a//10)%10) +(a%10)
#
# print(sum)


# sum=0
# num=randint(1000,9999999999)
# print(num)
# for i in str(num):
#     print(i)
#     sum+=int(i)
# print(sum)

# 6.查找一个列表中的最大值和最小值(不能使用max函数)
# 例如  [1, 2, 10, 3, 7, 5]
l1=[1, 2, 10, 3, 7, 5]
max=l1[0]
min=l1[0]
for i in range(len(l1)):
    if max>l1[i]:
        max=max
    else:
        max=l1[i]
for i in range(len(l1)):
    if min<l1[i]:
        min=min
    else:
        min=l1[i]
print(min)#最小值
print(max)#最大值

# 7.一个5位数，判断它是不是回文数。即12321是回文数，个位与万位相同，十位与千位相同

# a=int(input('请输入一个五位数：'))
# if a//10000==a%10 and a//1000%10==a//10%10:
#     print('这个数是回文数')
# else:
#     print('这个数不是回文数')




# print(12321//1000%10)